#include<stdio.h>

//int main()
//{
//	char a = 101;
//	int sum = 200;
//	a += 27; sum += a;
//	printf("%d\n", sum);
//	return 0;
//}

//int main()
//{//04 00
//	int value = 1024;//0100 0000 0000
//	char condition = *((char*)(&value));
//
//	if (condition) value += 1;
//	condition = *((char*)(&value));
//
//	if (condition) value += 1; 
//	condition = *((char*)(&value));
//
//	printf("%d %d", value, condition);
//	return 0;
//}

//void func(char para[100])
//{
//	void* p = malloc(100);
//	printf("%d, %d\n", sizeof(para), sizeof(p));
//}
//
//int main()
//{
//	char t[100];
//	func(t);
//	return 0;
//}

void func(char* p) 
{ 
	p = p + 1; 
}
int main()
{
	char s[] = { '1', '2', '3', '4' };
	func(s);
	printf("%c", *s);
	return 0;
}

#include <stdio.h>
#include<math.h>

int main() {
    int n = 0;
    int count = 0;
    scanf("%d", &n);
    for (int i = 0; i <= n; i++)
    {
        int x = i;
        int num = 0;

        while (x > 0)
        {
            x /= 10;
            num++;
        }
        if (i == i * i % (int)pow(10, num))
        {
            count++;
        }
    }
    printf("%d", count);
    return 0;
}

#include <stdio.h>
#include<math.h>

int prime(int x)
{
    for (int i = 2; i <= sqrt(x); i++)
    {
        if (x % i == 0)
        {
            return 0;
        }
    }
    return 1;
}
int main() {
    int n = 0;
    int count = 0;
    scanf("%d", &n);
    for (int i = 2; i < n; i++)
    {
        if (prime(i))
        {
            count++;
        }
    }
    printf("%d", count);
    return 0;
}